package com.hxzy.shop.commodity.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.hxzy.shop.commodity.dto.req.*;
import com.hxzy.shop.commodity.dto.resp.DrugResp;
import com.hxzy.shop.commodity.dto.resp.ImportPrescriptiondrugResp;
import com.hxzy.shop.commodity.dto.resp.PrescriptiondrugDetailResp;
import com.hxzy.shop.commodity.dto.resp.PrescriptiondrugStoreListResp;
import com.hxzy.shop.entity.Drug;
import com.hxzy.shop.entity.Prescriptiondrug;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface PrescriptiondrugService extends IService<Drug> {

    /**
     * @author qy
     * @date 2021/8/9
     * @description  分页查询处方药品
     **/
    PageInfo<DrugResp> getDrugPage(DrugPageReq drugPageReq);

    /**
     * @author qy
     * @date 2021/8/9
     * @description  新建加载商品列表
     **/
    PageInfo<Prescriptiondrug> getPrescriptionList(DrugPageReq drugPageReq);

    /**
     * @author qy
     * @date 2021/8/9
     * @description 添加药品为处方药
     **/
    //Boolean addPrescription(List<Long> idList);

    /**
     * @author qy
     * @date 2021/8/9
     * @description 编辑处方药
     **/
    DrugResp showPrescription(DrugInfoReq drugInfoReq);

    /**
     * @author qy
     * @date 2021/8/9
     * @description
     **/
    //Boolean editPrescription(AddDrugReq addDrugReq);

    /**
     * @author qy
     * @date 2021/8/9
     * @description 删除处方药
     **/
    boolean deletePrescription(DrugInfoReq drugInfoReq);

    /**
     * @author qy
     * @date 2021/8/20
     * @description 获取第三方调用令牌
     **/
    //String checkOpenPre(String appId);

    /**
     * 处方药商品库--获得药品分页
     * @param req
     * @return
     */
    //PageInfo<PrescriptiondrugStoreListResp> getPrescriptiondrugList(PrescriptiondrugStoreListReq req);

    /**
     * 处方药商品库--编辑处方药
     * @param req
     * @return
     */
    //Object editPrescriptiondrug(EditPrescriptiondrugReq req);

    /**
     * 处方药商品库--新增处方药
     * @param req
     * @return
     */
    //Object addPrescriptiondrug(AddPrescriptiondrugReq req);

    /**
     * 处方药商品库--上下架
     * @param req
     * @return
     */
    //Object changeState(ChangePrescriptiondrugStateReq req);

    /**
     * 处方药商品库--处方药详情
     * @param req
     * @return
     */
    //PrescriptiondrugDetailResp prescriptiondrugDetail(PrescriptiondrugDetailReq req);

    /**
     * 处方药商品库--excel批量导入处方药品
     * @param file
     * @return
     */
    //ImportPrescriptiondrugResp importPrescriptiondrug(MultipartFile file);

    /**
     * 导入处方图片
     * @param file
     * @return
     */
    //ImportPrescriptiondrugResp importPrescriptionDrugImage(MultipartFile file);

    /**
     * 更新状态
     *
     * @param state 更新状态
     * @return 是否成功
     */
    //boolean updateState(DrugUpdateReq state);
}
